package com.gg.registration.hospital.controller;

import com.gg.common.result.CommonResult;
import com.gg.common.result.ResultCodeEnum;
import com.gg.registration.hospital.service.ScheduleService;
import com.gg.registration.model.hosp.Schedule;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

/**
 * @author chenjunjia
 * @date 2022/4/12 20:32
 */
@RestController
//@CrossOrigin
@RequestMapping("/admin/hospital/schedule")
public class ScheduleController {

    @Resource
    private ScheduleService scheduleService;

    /**
     * 根据医院编号 和 科室编号 ，查询排班规则数据
     * @param page 当前页
     * @param limit 每页显示记录条数
     * @param hoscode 医院编号
     * @param depcode 部门编号
     * @return 返回Map集合，内容包含了根据日期来分类查询的所有信息
     */
    @GetMapping("getScheduleRule/{page}/{limit}/{hoscode}/{depcode}")
    public CommonResult getScheduleRule(@PathVariable("page") long page,
                                        @PathVariable("limit") long limit,
                                        @PathVariable("hoscode") String hoscode,
                                        @PathVariable("depcode") String depcode) {
        Map<String, Object> result = scheduleService.getScheduleRule(page, limit, hoscode, depcode);
        return new CommonResult(ResultCodeEnum.SUCCESS,result);
    }

    /**
     * 根据医院编号、部门编号、工作日期来查询排班详情
     * @param hoscode 医院编号
     * @param depcode 部门编号
     * @param workDate 工作日期
     * @return 排班表详情集合
     */
    @GetMapping("getScheduleDetail/{hoscode}/{depcode}/{workDate}")
    public CommonResult getScheduleDetail(@PathVariable("hoscode") String hoscode,
                                          @PathVariable("depcode") String depcode,
                                          @PathVariable("workDate") String workDate) {
        List<Schedule> result = scheduleService.getScheduleDetail(hoscode, depcode, workDate);
        return new CommonResult(ResultCodeEnum.SUCCESS,result);
    }
}
